
package com.one.odf.model;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for extendedInfosType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="extendedInfosType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="DateTime" type="{}DateTimeType" minOccurs="0"/&gt;
 *         &lt;element name="UnitDateTime" type="{}unitDateTimeType" minOccurs="0"/&gt;
 *         &lt;element name="ExtendedInfo" type="{}extendedDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="Progress" type="{}progressDataType" minOccurs="0"/&gt;
 *         &lt;element name="SportDescription" type="{}sportDescriptionDataType" minOccurs="0"/&gt;
 *         &lt;element name="VenueDescription" type="{}venueDescriptionDataType" minOccurs="0"/&gt;
 *         &lt;element name="PreviousResults" type="{}previousResultsDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="ListComp" type="{}ListCompDataType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "extendedInfosType", propOrder = {
    "dateTime",
    "unitDateTime",
    "extendedInfo",
    "progress",
    "sportDescription",
    "venueDescription",
    "previousResults",
    "listComp"
})
public class ExtendedInfosType {

    @XmlElement(name = "DateTime")
    protected DateTimeType dateTime;
    @XmlElement(name = "UnitDateTime")
    protected UnitDateTimeType unitDateTime;
    @XmlElement(name = "ExtendedInfo")
    protected List<ExtendedDataType> extendedInfo;
    @XmlElement(name = "Progress")
    protected ProgressDataType progress;
    @XmlElement(name = "SportDescription")
    protected SportDescriptionDataType sportDescription;
    @XmlElement(name = "VenueDescription")
    protected VenueDescriptionDataType venueDescription;
    @XmlElement(name = "PreviousResults")
    protected List<PreviousResultsDataType> previousResults;
    @XmlElement(name = "ListComp")
    protected List<ListCompDataType> listComp;

    /**
     * Gets the value of the dateTime property.
     * 
     * @return
     *     possible object is
     *     {@link DateTimeType }
     *     
     */
    public DateTimeType getDateTime() {
        return dateTime;
    }

    /**
     * Sets the value of the dateTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link DateTimeType }
     *     
     */
    public void setDateTime(DateTimeType value) {
        this.dateTime = value;
    }

    /**
     * Gets the value of the unitDateTime property.
     * 
     * @return
     *     possible object is
     *     {@link UnitDateTimeType }
     *     
     */
    public UnitDateTimeType getUnitDateTime() {
        return unitDateTime;
    }

    /**
     * Sets the value of the unitDateTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link UnitDateTimeType }
     *     
     */
    public void setUnitDateTime(UnitDateTimeType value) {
        this.unitDateTime = value;
    }

    /**
     * Gets the value of the extendedInfo property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the extendedInfo property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getExtendedInfo().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ExtendedDataType }
     * 
     * 
     */
    public List<ExtendedDataType> getExtendedInfo() {
        if (extendedInfo == null) {
            extendedInfo = new ArrayList<ExtendedDataType>();
        }
        return this.extendedInfo;
    }

    /**
     * Gets the value of the progress property.
     * 
     * @return
     *     possible object is
     *     {@link ProgressDataType }
     *     
     */
    public ProgressDataType getProgress() {
        return progress;
    }

    /**
     * Sets the value of the progress property.
     * 
     * @param value
     *     allowed object is
     *     {@link ProgressDataType }
     *     
     */
    public void setProgress(ProgressDataType value) {
        this.progress = value;
    }

    /**
     * Gets the value of the sportDescription property.
     * 
     * @return
     *     possible object is
     *     {@link SportDescriptionDataType }
     *     
     */
    public SportDescriptionDataType getSportDescription() {
        return sportDescription;
    }

    /**
     * Sets the value of the sportDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link SportDescriptionDataType }
     *     
     */
    public void setSportDescription(SportDescriptionDataType value) {
        this.sportDescription = value;
    }

    /**
     * Gets the value of the venueDescription property.
     * 
     * @return
     *     possible object is
     *     {@link VenueDescriptionDataType }
     *     
     */
    public VenueDescriptionDataType getVenueDescription() {
        return venueDescription;
    }

    /**
     * Sets the value of the venueDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link VenueDescriptionDataType }
     *     
     */
    public void setVenueDescription(VenueDescriptionDataType value) {
        this.venueDescription = value;
    }

    /**
     * Gets the value of the previousResults property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the previousResults property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getPreviousResults().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link PreviousResultsDataType }
     * 
     * 
     */
    public List<PreviousResultsDataType> getPreviousResults() {
        if (previousResults == null) {
            previousResults = new ArrayList<PreviousResultsDataType>();
        }
        return this.previousResults;
    }

    /**
     * Gets the value of the listComp property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the listComp property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getListComp().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ListCompDataType }
     * 
     * 
     */
    public List<ListCompDataType> getListComp() {
        if (listComp == null) {
            listComp = new ArrayList<ListCompDataType>();
        }
        return this.listComp;
    }

}
